package itheima04;
/*
    线程安全,多线程卖票
        分析:
            1.有3个卖票途径,每个途径相当于一个线程对象

            2.这3个线程对象,执行的任务: 都是卖票
                卖票步骤:
                    (1)判断是否有票
                    (2)有: 出一张票
                    (3)减少一张票
            3.这3个线程对象总共卖100张票,这100张票被3个线程共享使用

        实现步骤:
            1.定义Runnable接口的实现类
            2.Runnable接口的实现类覆盖重写run方法,指定线程任务: 卖票
                卖票步骤:
                    (1)判断是否有票
                    (2)有: 出一张票
                    (3)减少一张票
            3.创建Runnable接口的实现类对象,代表线程任务
            4.创建3个线程对象,传递线程任务对象
            5.这3个线程对象,分别调用start方法,开启线程
 */
/*public class Demo04SellTickets {
    public static void main(String[] args) {
        //3.创建Runnable接口的实现类对象,代表线程任务
        MyTickets task = new MyTickets();

        //4.创建3个线程对象,传递线程任务对象
        Thread t1 = new Thread(task);
        Thread t0 = new Thread(task);
        Thread t2 = new Thread(task);

        //5.这3个线程对象,分别调用start方法,开启线程
        t0.start();
        t1.start();
        t2.start();
    }

}*/
public class Demo04SellTickets {
    public static void main(String[] args) {
        MyTickets myTickets=new MyTickets();

        Thread thread=new Thread(myTickets);
        Thread thread1=new Thread(myTickets);
        Thread thread2=new Thread(myTickets);

        thread.start();
        thread1.start();
        thread2.start();
    }
}